function POSTWriter(ts, enc, req) {
	
	this.writeValues = function(values, k) {
		
		var bound = HeadFactory.generateBoundary();
		var bounds = getBounds(bound);
		var data = "";
		
		for(var id in values) {
			var ot = values[id];
			
			data += bounds[0] + TITTValues.HTTP_NEWLINE;
			var h = new MultipartHeadInit(ot.getType());
			var hs = h.getAllHeaders();
			for(var id1 in hs) {
				data += hs[id1].getName() + ": " + hs[id1].getValue() + TITTValues.HTTP_NEWLINE;
			}
			data +=  TITTValues.HTTP_NEWLINE;
			
			if(!enc.isEncodeable(ot.getType())) 
				data += TITTValues.HTTP_NEWLINE;
			else
				data += enc.encode(ot.getType(), ot.getObject()) + TITTValues.HTTP_NEWLINE;
			
		}
		
		data += bounds[1] + TITTValues.HTTP_NEWLINE;
	
		ts.getHeadWriter().writeHead(new FormHeadInit(data.length, bound, req));

		ts.getOutputStream().write(data);
				
		ts.getOutputStream().flush(k);
	}	

	function getBounds(bound) {

		var a = new Array();
		a[0] = TITTValues.MULTIPART_SEPERATOR + bound;
		a[1] = TITTValues.MULTIPART_SEPERATOR + bound + TITTValues.MULTIPART_SEPERATOR;
		
		return a;
	}
}
